package com.huatai.dataservice.dubbo;

import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.PostConstruct;
import java.util.List;

/**
 * 实时数据的MongoDB方法 TODO 2023年8月1日 17点16分 mongodb的相关依赖导入失败
 *
 * @author lizhong
 * @date 2023/6/27  15:04
 */
@Slf4j
@DubboService
@Transactional
public class DataDisposeDubboMongoDBImpl implements DataDisposeDubboAPIMongoDB {


	@PostConstruct
	public void init() {

	}

	/**
	 * 判断据库中是否存在集合
	 *
	 * @param collectionName 检查的集合名
	 * @return boolean
	 */
	private boolean collectionExists(String collectionName) {

		return false;
	}

	/**
	 * MongoDB: 校验数据库中是否存在集合，有则跳过，无则新建
	 *
	 * @param collectionName 集合名
	 * @param jsonData       字段属性
	 * @return boolean
	 * @author lizhong
	 */
	@Override
	public boolean existTable(String collectionName, List<JSONObject> jsonData) {

		return false;
	}

	/**
	 * TODO：获取表数据条数（实时的数据表名前缀为：“tb_rt_”，非实时的表名为：“tb_ht_”）
	 *
	 * @return List<JSONObject>
	 * @author lizhong
	 */
	@Override
	public List<JSONObject> getAllTableCount() {
		return null;
	}

	/**
	 * MongoDB：往一个集合插入一条数据，TODO 在kafka消息处理类KafkaConsumerListener的listen调用
	 * TODO 插入哪个表
	 *
	 * @param collectionName 集合名
	 * @param object         插入对象
	 * @author lizhong
	 */
	@Override
	public void executeInsert(String collectionName, JSONObject object) {

	}
}
